/*
 *    Copyright (c) 2018-2025, boss All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * Neither the name of the boss developer nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 * Author: boss
 */

package com.hopes.bizz.risk.transfer.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hopes.bizz.risk.transfer.bean.entity.RiskTransferLogEntity;
import com.hopes.bizz.risk.transfer.bean.log.dto.RiskErrorLogDTO;
import com.hopes.bizz.risk.transfer.bean.log.dto.RiskLogDTO;
import com.hopes.bizz.risk.transfer.bean.log.vo.RiskErrorLogVo;
import com.hopes.bizz.risk.transfer.bean.log.vo.RiskLogVo;
import com.hopes.bizz.risk.transfer.bean.vo.RiskDataReportStatistics;

import java.util.List;

/**
 * 风险数据对接日志
 *
 * @author pig
 * @date 2024-02-01 20:17:10
 */
public interface RiskTransferLogService extends IService<RiskTransferLogEntity> {

    /**
     * @Description 根据批次id查询日志
     * @Author lyb
     * @Date 2024/2/20
     **/
    List<RiskLogVo> getLog(RiskLogDTO riskDataDto);

    /**
     * @Description 根据批次ID查询日志
     * @Author lyb
     * @Date 2024/2/20
     **/
    RiskTransferLogEntity getByBatchId(String batchId);

    /**
     * @Description 根据id查询错误日志
     * @Author lyb
     * @Date 2024/2/20
     **/
    List<RiskErrorLogVo> getErrorLog(RiskErrorLogDTO riskErrorLogDTO);

    /**
     * @Description 统计企业数据对接情况
     * @Author lyb
     * @Date 2024/2/21
     **/
    RiskDataReportStatistics calculateRiskDataReport();

    /**
     * @Description 根据批次ID查询上报报文
     * @Author lyb
     * @Date 2024/2/21
     **/
    String getReportDataByBatchId(String batchId);
}